Small blktap cleanups.
authorakw@devbox.site <akw@devbox.site>
Tue, 29 Aug 2006 22:55:24 +0000 (15:55 -0700)
committerakw@devbox.site <akw@devbox.site>
Tue, 29 Aug 2006 22:55:24 +0000 (15:55 -0700)
Signed-off-by: Andrew Warfield <andy@xensource.com>
linux-2.6-xen-sparse/drivers/xen/blktap/blktap.c
tools/blktap/drivers/block-aio.c
tools/blktap/drivers/block-qcow.c
tools/blktap/drivers/tapdisk.c
tools/blktap/lib/xs_api.c

index ade3c50dec225fe7427983ab89e605dcaa697a04..a6f1379c27b68d01a7749c569562c2e6114481a4 100644 (file)
@@ -114,8 +114,8 @@ typedef struct domid_translate {
 } domid_translate_t ;
 
 
-domid_translate_t  translate_domid[MAX_TAP_DEV];
-tap_blkif_t *tapfds[MAX_TAP_DEV];
+static domid_translate_t  translate_domid[MAX_TAP_DEV];
+static tap_blkif_t *tapfds[MAX_TAP_DEV];
 
 static int __init set_blkif_reqs(char *str)
 {
@@ -1118,7 +1118,7 @@ static int do_block_io_op(blkif_t *blkif)
                               "ring does not exist!\n");
                        print_dbug = 0; /*We only print this message once*/
                }
-               return 1;
+               return 0;
        }
 
        info = tapfds[blkif->dev_num];
@@ -1127,7 +1127,7 @@ static int do_block_io_op(blkif_t *blkif)
                        WPRINTK("Can't get UE info!\n");
                        print_dbug = 0;
                }
-               return 1;
+               return 0;
        }
 
        while (rc != rp) {
index 48307faef57e5cf81365080e681e6088294e8121..ca086b7faa5102bc209b4a72027c2ee4be9abe49 100644 (file)
@@ -161,7 +161,7 @@ int tdaio_open (struct td_state *s, const char *name)
                                 "trying to concurrently use a large number "
                                 "of blktap-based disks, you may need to "
                                 "increase the system-wide aio request limit. "
-                                "(e.g. 'echo echo 1048576 > /proc/sys/"
+                                "(e.g. 'echo echo 1048576 > /proc/sys/fs/"
                                 "aio-max-nr')\n");
                 } else {
                         DPRINTF("Couldn't get fd for AIO poll support.  This "
index d586534161e8308e3dc92e1866354388f84e88c2..d89cbcfc02bce2a0731b665e566adc8e064f55f6 100644 (file)
@@ -182,7 +182,7 @@ static int init_aio_state(struct td_state *bs)
                                 "trying to concurrently use a large number "
                                 "of blktap-based disks, you may need to "
                                 "increase the system-wide aio request limit. "
-                                "(e.g. 'echo echo 1048576 > /proc/sys/"
+                                "(e.g. 'echo echo 1048576 > /proc/sys/fs/"
                                 "aio-max-nr')\n");
                 } else {
                         DPRINTF("Couldn't get fd for AIO poll support.  This "
index dfbbc9780116236b2be904f1d3f9495fb8520108..0b319ac0eccf1374a0525ca4fe96758219984b4b 100644 (file)
@@ -110,6 +110,7 @@ static void unmap_disk(struct td_state *s)
        free(s->fd_entry);
        free(s->blkif);
        free(s->ring_info);
+        free(s->private);
        free(s);
 
        return;
index 8dd491a800888208350a45c738903722e940351c..c6c22165c8bbb722d486a6685df3468c3353a6d3 100644 (file)
@@ -204,7 +204,7 @@ char *get_dom_domid(struct xs_handle *h, const char *name)
 int convert_dev_name_to_num(char *name) {
        char *p_sd, *p_hd, *p_xvd, *p_plx, *p, *alpha,*ptr;
        int majors[10] = {3,22,33,34,56,57,88,89,90,91};
-       int maj,i;
+       int maj,i,ret = 0;
 
        asprintf(&p_sd,"/dev/sd");
        asprintf(&p_hd,"/dev/hd");
@@ -221,7 +221,7 @@ int convert_dev_name_to_num(char *name) {
                        *ptr++;
                }
                *p++;
-               return BASE_DEV_VAL + (16*i) + atoi(p);
+               ret = BASE_DEV_VAL + (16*i) + atoi(p);
        } else if (strstr(name, p_hd) != NULL) {
                p = name + strlen(p_hd);
                for (i = 0, ptr = alpha; i < strlen(alpha); i++) {
@@ -229,7 +229,7 @@ int convert_dev_name_to_num(char *name) {
                        *ptr++;
                }
                *p++;
-               return (majors[i/2]*256) + atoi(p);
+               ret = (majors[i/2]*256) + atoi(p);
 
        } else if (strstr(name, p_xvd) != NULL) {
                p = name + strlen(p_xvd);
@@ -238,16 +238,23 @@ int convert_dev_name_to_num(char *name) {
                        *ptr++;
                }
                *p++;
-               return (202*256) + (16*i) + atoi(p);
+               ret = (202*256) + (16*i) + atoi(p);
 
        } else if (strstr(name, p_plx) != NULL) {
                p = name + strlen(p_plx);
-               return atoi(p);
+               ret = atoi(p);
 
        } else {
                DPRINTF("Unknown device type, setting to default.\n");
-               return BASE_DEV_VAL;
+               ret = BASE_DEV_VAL;
        }
+
+        free(p_sd);
+        free(p_hd);
+        free(p_xvd);
+        free(p_plx);
+        free(alpha);
+        
        return 0;
 }